package cn.com.surker.vo.system;

import cn.com.surker.common.AESCoder;
import cn.com.surker.common.Constant;
import cn.com.surker.util.StringUtils;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 仓位信息表
 * </p>
 *
 * @author admin
 * @since 2024-09-02
 */
@Data
public class SysStorageVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 标识
     */
    private Long id;

    /**
     * 公司ID
     */
    private Long orgId;

    /**
     * 编码
     */
    private String code;

    /**
     * 名称
     */
    private String name;

    /**
     * 仓位类型(0:筒仓1:堆场)
     */
    private Integer type;

    /**
     * 最大容量
     */
    private Double maxCapacity;

    /**
     * 仓位材料盘点计算系数
     */
    private Double coefficient;
    /**
     * 仓位半径 筒仓必填
     */
    private Double radius;
    /**
     * 仓位描述
     */
    private String storageDesc;
    /**
     * 材料ID
     */
    private Long materialId;
    /**
     * 材料名称
     */
    private String material;
    /**
     * 生产线ID
     */
    private Long lineId;

    /**
     * 生产线名称
     */
    private String lineName;

    /**
     * 盘点时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date inventoryTime;

    /**
     * 状态(0:启用1：禁用)
     */
    private Integer status;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建人
     */
    private String creator;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createTime;

    /**
     * 是否是共享仓 0是 1不是
     */
    private Integer isEnjoy;
    /**
     * 是否显示库存0显示1不显示
     */
    private Integer isStore;
    /**
     * 是否盘存
     */
    private Integer isInventory;
    /**
     * 修改人
     */
    private String updator;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date updateTime;


    public String getQrcode() {
        String qrcode= "";
        if (!StringUtils.isNull(getId()) && !StringUtils.isNull(getOrgId())) {
            qrcode = id + "," + orgId;
            qrcode = AESCoder.encrypt(qrcode, Constant.storageSecret);
        }
        System.out.println(qrcode);
        return qrcode;
    }

}
